﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AnyGrid.Renderers;

namespace AnyGrid.Metadata
{
    /// <summary>
    /// This type is used to specify that a particular option 
    /// value should be passed to the grid. Grid renderers can then look at the names 
    /// and values passed and use them when initializing the grid. Use this 
    /// GridOptionAttribute to pass a collection of GridOptions to support grid features 
    /// not explicitly implemented in AnyGrid.
    /// </summary>
    public class GridCustomOption
    {
        /// <summary>
        /// This property can be used to specify that this option should be applied 
        /// only to one particular grid renderer. The default value is to apply this 
        /// option for any grid renderer. If you support multiple grid types in your 
        /// application, you can use this property to ensure that an option useful 
        /// to only one of them does not get passed to all different supported grid 
        /// renderers.
        /// </summary>
        public GridKind ForGridKind { get; set; }
        /// <summary>
        /// Specifies the grid option to be set. The value past year will depend upon 
        /// the grid.
        /// </summary>
        public string OptionName { get; set; }
        /// <summary>
        /// The option value to be passed when initializing the grid.
        /// </summary>
        public object OptionValue { get; set; }
    }
}
